<?php 
if (!isset($_SESSION)) {
  session_start();
}
define("CCTRL", "a05b85f8df775a1ecd4a1958174cdc48");
define("CCTRLNAME", "_backend");
class a05b85f8df775a1ecd4a1958174cdc48 extends CI_Controller  {

        /**
        * Index Page for this controller.
        *
        * Maps to the following URL
        * 		http://example.com/index.php/welcome
        *	- or -  
        * 		http://example.com/index.php/welcome/index
        *	- or -
        * Since this controller is set as the default controller in 
        * config/routes.php, it's displayed at http://example.com/
        *
        * So any other public methods not prefixed with an underscore will
        * map to /index.php/welcome/<method_name>
        * @see http://codeigniter.com/user_guide/general/urls.html
        */
       function __construct()
        {
            parent::__construct();
            include APPPATH . 'libraries/defu.php';
            $this->load->helper('url');
            $this->load->library('smarty3');
            $this->load->library('encrypt');
            $this->load->model('backend/backend_model');
            $this->smarty=new CI_Smarty3();
            $this->tables=array(
                "6e45f08d08d1eab290b6a7c9cfd34fa9"=>"tbl_authority",
                "12dfdbc68f87c1bf1a131328911e0968"=>"_type",
                "4ab837664a8e17b1bec62a758a68b7ac"=>"_gallery",
                "cda47f2bef3035252bfd30971e5c1b16"=>"_gallery_detail",
                );
        }
        public function index(){
            show_404();
        }
        
        public function change_column_display($controller=""){
            $col=$this->input->post("col");
            $hide=$this->input->post("hide");
            for($i=0;$i<count($_SESSION["ADP"][$controller."-JQX"]["colModel"]);$i++){
                if($_SESSION["ADP"][$controller."-JQX"]["colModel"][$i]["datafield"]==$col){
                    $_SESSION["ADP"][$controller."-JQX"]["colModel"][$i]["hidden"]=($hide==1?true:false);
                    break;
                }
            }
            $code=1;
            $msg="Data display have been change.$col";
            echo json_encode(array("code"=>$code,"msg"=>$msg));
        }
        public function change_delete_display($controller=""){
            $_display=$this->input->post("_display");
            if($_display===false){
                $_display=$this->input->post("showDelete");
            }
            $_SESSION["ADP"][$controller]["display"]=$_display;
            $code=1;
            $msg="Data display have been change.";
            echo json_encode(array("code"=>$code,"msg"=>$msg));
        }
        public function change_status($token="",$controller="-"){
            if(!isset($this->tables[$token])){
                $code   =  -1;
                $msg    =  "[Access Denied] Token is invalid !";
                echo json_encode(array("result"=>$code,"message"=>$msg));
            }
            $table=$this->tables[$token];
            $this->backend_model=new backend_model($table);
            $_status=$this->input->post("_status");
            $_id=$this->input->post("_id");
            if(!checkAuthority($controller,false)){
                $code   =  -1;
                $msg    =  "[Access Denied] Bạn không có quyền thực hiện thao tác này.<br/> Mọi thay đổi trạng thái đều không được công nhận.";
            }elseif($_id!==false && $_status!==false){
                $rs=$this->backend_model->updateColumn($_id,"_status",$_status);
                if($rs!==false and (int)$rs>0){
                    $alog=array(
                        "_table"=>$table,
                        "_row"=>null,
                        "_commandtype"=>"status change",
                        "_log"=>print_r(array(
                            "user" =>$_SESSION["ADP"]["USER"]["Name"],
                            "ip"=>  getIP(),
                            "command"=>"status change",
                            "id"    =>$_id,
                            "status"=>$_status,
                            "sqlcommand"=>$this->db->last_query()
                        ),true)
                    );
                    @$this->backend_model->tolog($alog);
                    $code   =   1;
                    $msg    =   "[Success] Thành công. Trạng thái đã được thay đổi ".($rs>1?"($rs)":"").".";
                }else{
                    $code   =  -1;
                    $msg    =   "[Fail] Please check your data input and try again.<br/><br/>
                    Find out more about an <span class='csp'><tt onclick='_whyerror()'>Error Message</tt></span>
                    ";
                }
            }else{  
                $code=-1;
                $msg="I dont known do you want?.";
            }
            echo json_encode(array("result"=>$code,"message"=>$msg));
        }
        public function column_update($token="",$controller="",$col=""){
            //echo "$token:$controller:$col";
            if(!isset($this->tables[$token])){
                echo json_encode(array("result"=>-1,"message"=>"Token is invalid!"));return;
            }
            $_id=$this->input->post("_id");
            $_value=$this->input->post("_value");
            $debug["col"]= urldecode($col);
            $debug["ctrl"]= $controller;
            $debug["value"]= $_value;
            $table=$this->tables[$token];
            $this->backend_model=new backend_model($table);
            if(checkAuthority($controller,false)===false){
                $code=-1;
                $msg="[Access Denied] Bạn không có quyền thực hiện thao tác này.<br/> Mọi thay đổi dữ liệu đều không được công nhận.";
            }elseif($_value!==false && $_id!==false && $col!=""){
                $rs=$this->backend_model->updateColumn($_id,$col,$_value);
                if($rs!==false and (int)$rs>0){
                    $alog=array(
                        "_table"=>$table,
                        "_row"=>null,
                        "_commandtype"=>"update",
                        "_log"=>print_r(array(
                            "user" =>$_SESSION["ADP"]["USER"]["Name"],
                            "ip"=>  getIP(),
                            "command"=>"update",
                            "id"    =>$_id,
                            "col"=>$col,
                            "val"=>$_value,
                            "sqlcommand"=>$this->db->last_query()
                        ),true)
                    );
                    @$this->backend_model->tolog($alog);
                    $code=1;
                    $msg="[Success] Dữ liệu đã được cập nhật.";
                }else{
                    $code=-1;
                    $msg    =   "[Fail] Please check your data input and try again.<br/><br/>
                    Find out more about an <span class='csp'><tt onclick='_whyerror()'>Error Message</tt></span>
                    ";
                }
            }else{  
                $code=-1;
                $msg="I dont known do you want?.";
            }
            echo json_encode(array("result"=>$code,"message"=>$msg));
        }
        public function delete($token="",$controller=""){
            if(!isset($this->tables[$token])){
                echo json_encode(array("result"=>-1,"message"=>"Token is invalid!"));return;
            }
            $table=$this->tables[$token];
            $this->backend_model=new backend_model($table);
            $_id=$this->input->post("_id");
            if(!checkAuthority($controller,false)){
                $code=-1;
                $msg="[Access Denied] Bạn không có quyền thực hiện thao tác này.<br/> Mọi thay đổi dữ liệu đều không được công nhận.";
            }elseif($_id!==false){
                $rs=$this->backend_model->updateColumn($_id,"_delete",date("Y-m-d H:i:s"));
                if($rs!==false and (int)$rs>0){
                    $alog=array(
                        "_table"=>$table,
                        "_row"=>null,
                        "_commandtype"=>"delete",
                        "_log"=>print_r(array(
                            "user" =>$_SESSION["ADP"]["USER"]["Name"],
                            "ip"=>  getIP(),
                            "command"=>"delete",
                            "id"    =>$_id,
                            "sqlcommand"=>$this->db->last_query()
                        ),true)
                    );
                    @$this->backend_model->tolog($alog);
                    $code=1;
                    $msg="[Success] Thành công. Dữ liệu đã được xóa ".($rs>1?"($rs)":"").".";
                }else{
                    $code=-1;
                    $msg    =   "[Fail] Please check your data input and try again.<br/><br/>
                    Find out more about an <span class='csp'><tt onclick='_whyerror()'>Error Message</tt></span>
                    ";
                }
            }else{  
                $code=-1;
                $msg="[Empty data] Lỗi, dữ liệu trống.";
            }
            echo json_encode(array("result"=>$code,"message"=>$msg));
        }
        public function restore($token="",$controller=""){
            if(!isset($this->tables[$token])){
                echo json_encode(array("result"=>-1,"message"=>"Token is invalid!"));return;
            }
            $table=$this->tables[$token];
            $this->backend_model=new backend_model($table);
            $_id=$this->input->post("_id");
            if(!checkAuthority($controller,false)){
                $code=-1;
                $msg="Bạn không có quyền thực hiện thao tác này.<br/> Mọi thay đổi dữ liệu đều không được công nhận.";
            }elseif($_id!==false){
                $rs=$this->backend_model->updateColumn($_id,"_delete",null);
                if($rs!==false){
                    $alog=array(
                        "_table"=>$table,
                        "_row"=>null,
                        "_commandtype"=>"restore",
                        "_log"=>print_r(array(
                            "user" =>$_SESSION["ADP"]["USER"]["Name"],
                            "ip"=>  getIP(),
                            "command"=>"restore",
                            "id"    =>$_id,
                            "sqlcommand"=>$this->db->last_query()
                        ),true)
                    );
                    @$this->backend_model->tolog($alog);
                    $code=1;
                    $msg="[Success] Thành công. Dữ liệu đã được khôi phục ".($rs>1?"($rs)":"").".";
                }else{
                    $code=-1;
                    $msg="[Fail] Thất bại. Vui lòng kiểm tra dữ liệu và thử lại.";
                }
            }else{  
                $code=-1;
                $msg="[Empty data] Lỗi, dữ liệu trống.";
            }
            echo json_encode(array("result"=>$code,"message"=>$msg));
        }
        
}

/* End of file welcome.php */
/* Location: ./application/controllers/welcome.php */